/**
 * 
 */
package com.study.singleton;

/**
 * 
实现单例模式有4个步骤：
1) 静态私有属性
2) 私有构造方法
3) 公有的静态的获取实例的方法
4) 公有的业务方法
 * @author Administrator
 * @date 2019年6月24日
 */
//饿汉式: 优点：先天性线程是安全的，当类初始化的 就会创建该对象 缺点：如果饿汉式使用过多，可能会影响项目启动的效率问题。
public class SingletonV1 {

	private static SingletonV1 instance = new SingletonV1();
	private Person person;
	
	private SingletonV1(){
		person = new Person("xiaoming");
	};
	
	public static SingletonV1 getInstance(){
		return instance;
	}
	
	//4、公有业务方法
    public String getPersonName(){
        return person.getName();
    }
 
    class Person {
    	private String name;
    	public Person(String n){
    		this.name = n;
    	}
    	public String getName(){
    		return name;
    	}
    }
	public static void main(String[]  args){
		SingletonV1 v1 = SingletonV1.getInstance();
		SingletonV1 v2 = SingletonV1.getInstance();
		System.out.println(v1 == v2);
		System.out.println(SingletonV1.getInstance().getPersonName());
	}
}

